package h0709;

import java.util.*;
import java.util.stream.Collectors;

public class SearchModeAndMedian {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int[] array = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();

        getResult2(array);
    }

    private static void getResult(int[] array) {
        //求众数
        List<Integer> modes=new ArrayList<>(); //众数数组
        int max=0;

        for (int i = 0; i < array.length; i++) {
            int cnt=0;
            for (int j = 0; j < array.length; j++) {
                if (array[i]==array[j]){
                    cnt++;
                }

            }
            if (cnt>max){
                modes=new ArrayList<>();
                modes.add(array[i]);
                max=cnt;
            }else if (cnt==max){
                modes.add(array[i]);
            }
        }

        List<Integer> res = modes.stream().sorted(Comparator.comparingInt(o -> o)).collect(Collectors.toList());
        if (res.size()%2==1){
            System.out.println(res.get(res.size()/2));
        }else {
            System.out.println((res.get(res.size()/2)+res.get(res.size()/2-1))/2);
        }
    }
    private static void getResult2(int[] array){
        int n = array.length;
        //统计各个数字出现的次数
        HashMap<Integer, Integer> map = new HashMap<>();
        for (int a : array) {
            map.put(a,map.getOrDefault(a,0)+1);
        }

        //获得最大出现次数
        int max = map.values().stream().max(Comparator.comparingInt(o -> o)).orElse(0);

        ArrayList<Integer> modes = new ArrayList<>();
        for (Integer key : map.keySet()) {
            if (map.get(key)==max){
                modes.add(key);
            }
        }
        //求中位数。这里求中位数不必像传统方法一样给出所有数字，直接按照单一的众数从小到大排序的列表。
        // 结果都是一样的，因为出现次数都是一样大
        int mid=modes.size()/2;
        if (modes.size()%2==1){
            System.out.println(modes.get(mid));
        }else {
            System.out.println((modes.get(mid)+ modes.get(mid-1))/2);
        }
    }
}
